1. Field of the Invention
This invention relates to the field of packet-based networks. In particular, the invention relates to techniques for improving the efficiency of packet-based networks.
2. Description of the Related Art
The prior art techniques for packet based networks are shown by FIG. 1. One or more terminals 100-104 are coupled in communication in a network 106. A router 108 couples the network 106 with a, typically larger, network 110 such as the Internet, a corporate wide area network (WAN), or some other type of packet-based network. The network 110 is in turn coupled to routers, gateways, bridges, and other connecting devices such as the router 112. The router 112 is coupled to the router 114 which is coupled to the terminal 116.
FIG. 1 shows a prior art network built upon the Ethernet protocol. The Ethernet protocol is an umbrella term for a group of protocols that have been standardized by the Institute of Electrical and Electronics Engineers (IEEE) under standards documents 802.3x. The xe2x80x9cxxe2x80x9d refers to the various protocols that fall under the umbrella term Ethernet such as IEEE 802.3, standard 10 Mbps Ethernet; IEEE 802.3u, Fast Ethernet; IEEE 802.3z, Gigabit Ethernet; and other Ethernet protocols. Ethernet networks are just one type of packet-based network that is widely used.
In a packet based network, data is transmitted in packets, also called frames. In this example, there are four packets 118-124 being transmitted from the terminal 100 to the terminal 116. The packets 118-124 shown in FIG. 1 comprise video information, packet 118; audio information, packet 120; data information, packet 122; and control information, packet 124. These four packet types are common under the H.323 protocol for packet-based multimedia conferencing. Under the H.323 protocol, the network protocol used is IP and the transport protocol used is the user datagram protocol (UDP). The payload 216 of each of the packets 118-124 contains the different data types. The UDP protocol is used in favor of the transmission control protocol (TCP) in packet-based multimedia conferencing because TCP supports dropped packet recovery, an unnecessary feature for multimedia conferencing.
It is typical to describe the components of a packet using terminology that designates different terms for different components of the data. In an IEEE 802.3x network, the packet comprises a number of different components as shown by FIG. 2. The elements can loosely be divided into two categories: the link layer control (LLC) components 200-208 and 220 and the high-level data link control (HDLC) components 210-218. This differentiation allows an Ethernet network to carry different types of network protocol traffic. The LLC components are mandatory components irrespective of the network protocol, such as Internet Protocol (IP), being used.
In the prior art, each of the four packets 118-124 that might be generated in the multimedia conference are transmitted separately over the network. This is also true generally of networks using IEEE 802.3x, each packet is a discrete unit with distinct HDLC components specifying different network protocol and transport protocol destinations even if the LLC destination address 204 is the same.
As shown in FIG. 2, the payload 216, including the HDLC components 210-212 and 218, can accommodate a maximum of 1500 bytes of data. Thus, if the network layer header 210 for IP is 20 bytes and the transport layer header 212 for UDP is 8 bytes, then only 1500xe2x88x9220xe2x88x928, or 1472, bytes are available for payload in each packet. Additionally, each packet includes a seven byte preamble 200, the one byte start flag, a six byte LLC destination address 204, a six byte LLC source address 206, a two byte length 208, and a four byte checksum 220. The two byte length 208 indicates how many bytes the HDLC components 210-218 are. Adding these byte sizes makes the maximum packet size at most 1526 bytes for an IEEE 802.3 network, standard 10 Mbps Ethernet.
If the actual size of most packets is significantly less than the maximum size, the network is not operating at maximum efficiency. This is because Ethernet is a carrier sense multiple access (CSMA) protocol with collision detection (CD). The transmission times are setup based on the maximum packet size and a maximum cable length. Contention periods for access to the common transmission medium are placed in between the packet transmission slots. This means that the packet sizes for higher speed Ethernet protocols are larger, or the maximum cable length must be shortened. Additionally, the contention period between transmission of successive packets adds another delay to the transmission of data. On an IEEE 802.3, standard 10 Mbps Ethernet, the per packet overhead is 20.8 xcexcsec and there is a minimum 9.6 xcexcsec gap between packets.
If all four packets 118-124 are transmitted according to the prior art, there will be at least a 36 xcexcsec of delay introduced to transmit all of the packets. Therefore, it is desirable to have a network which can reduce these delays.
A method for creating an aggregate packet in a packet-based network is described. The method includes receiving a packet over the network. Examining the route for the packet to see if the route supports aggregate packets. If the route supports aggregate packets, starting a timer to wait a predetermined period.
In one embodiment, if no packets suitable for creating an aggregate packet are received before the timer expires, the packet is sent normally through the packet-based network. In one embodiment, the timer is set to wait 10 msec.
When another packet is received over the network, the route of the packet is etermined. If the route shares at least one common destination with the first packet and that destination supports aggregate packets, an aggregate packet is created including the first packet and the second packet.
This method can be used over a variety of different types of packet-based network including non-IEEE 802.3x networks such as home networks and wireless networks.
When the packets are aggregated into an aggregate packet, some link layer control information may be removed. This might include the preamble and the start from an IEEE 802.3 packet. In some embodiments, it might also include removing the LLC destination address and source address if all of the packets in an aggregate packet have the same source and destination.
The aggregate packet can include more than just two packets. The number of packets embedded in an aggregate packet is limited primarily by the maximum packet size on the packet-based network. On an IEEE 802.3 packet-based network where the maximum packet size is 1526 bytes, typically no more than approximately four packets can be embedded in a single aggregate packet.
In one embodiment, each aggregate packet includes a fixed sized table that describes the locations and size of the embedded packets. This embodiment with a table with only four entries may be well suited to an IEEE 802.3 network especially if H.323 multimedia conferencing is a common application.
In other packet-based networks with larger maximum packet sizes, a variable amount of header data may be more desirable. In this embodiment, a count of the number of embodiments is provided followed by that number of location and size value pairs describing the embedded packets in the aggregate packet.
A method for determining which network devices support aggregate packets is also described. The method involves sending a probe packet to a network device. A timer is then set to wait for a response packet. If a response packet is returned before the timer expires, then the sender will record that the network device supports aggregate packets. Otherwise, it is assumed that the network device does not support aggregate packets.
The probe packets can be specially formatted to be detectable by network devices that support aggregate packets.
The response packets can be specially formatted to be detectable by network devices that support aggregate packets.
In some embodiments, a computer data signal embodied in a carrier wave includes a computer program for supporting aggregate packets. In one embodiment, the computer program is adapted for a multimedia communication device. In one embodiment, the audio and video packets from the multimedia communication device are automatically aggregated together if the receiving terminal supports aggregated packets.